# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Spyro 2 Template

game: Spyro 2
requires:
  version: 0.6.6 # Version of Archipelago required for this yaml to work as expected.

Spyro 2:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  goal:
    # Lets the user choose the completion goal.  Regardless of choice, the door to Ripto requires 40 orbs to open.
    # Unless you are using glitches to enter boss fights, the first three goals should be equivalent.
    # Ripto - Beat Ripto. The goal triggers during the ensuing cutscene.
    # 14 Talisman - Collect 6 Summer Forest Talismans and 8 Autumn Plains Talismans and beat Ripto. In Open World mode, defaults to Ripto.
    # 40 Orb - Collect 40 orbs and beat Ripto.
    # 64 Orb - Collect 64 orbs and beat Ripto.
    # 100 Percent - Collect all talismans, orbs, and gems and beat Ripto. In Open World mode, no talismans are required.
    # 10 Tokens - Collect all 10 tokens in Dragon Shores.
    # All Skillpoints - Collect all 16 skill points in the game. Excluded locations are still required for this goal.
    # Epilogue - Unlock the full epilogue by collecting all 16 skill points and defeating Ripto. Excluded locations are still required for this goal.
    ripto: 0
    14_talisman: 0
    40_orb: 50
    64_orb: 0
    100_percent: 0
    10_tokens: 0
    all_skillpoints: 0
    epilogue: 0

  guaranteed_items:
    # Guarantees that the specified items will be in the item pool
    {}

  enable_open_world:
    # If on, Crush and Gulp do not require talismans.  Every level is unlocked by items.
    # You start with Glimmer and 3 other unlocks.
    'false': 50
    'true': 0

  open_world_level_unlocks:
    # Determines how many level unlocks the player starts with.
    # The player always has access to Glimmer, homeworlds, and boss fights.
    # Starting with fewer than 8 unlocks requires you to add extra locations to the item pool.
    # NOTE: Only has an effect in Open World mode.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 22
    8: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-22: 0 # random value between 0 and 22

  open_world_ability_and_warp_unlocks:
    # If on in Open World mode, the player will start with swim, climb, headbash, and access to all 3 homeworlds.
    # NOTE: Only has an effect in Open World mode.
    'false': 50
    'true': 0

  enable_25_pct_gem_checks:
    # Adds checks for getting 25% of the gems in a level
    'false': 50
    'true': 0

  enable_50_pct_gem_checks:
    # Adds checks for getting 50% of the gems in a level
    'false': 50
    'true': 0

  enable_75_pct_gem_checks:
    # Adds checks for getting 75% of the gems in a level
    'false': 50
    'true': 0

  enable_gem_checks:
    # Adds checks for getting all gems in a level
    'false': 50
    'true': 0

  enable_total_gem_checks:
    # Adds checks for every 500 gems you collect total.
    # NOTE: Gems currently paid to Moneybags do not count towards your total.
    # Logic assumes you pay Moneybags everywhere you can so you cannot be locked out of checks.
    'false': 50
    'true': 0

  max_total_gem_checks:
    # Sets the highest number of total gems that can be required for Total Gem Count checks.
    # This has no effect if Enable Total Gem Count Checks is disabled.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 500
    # Maximum value is 10000
    4000: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-500-10000: 0 # random value between 500 and 10000

  enable_skillpoint_checks:
    # Adds checks for getting skill points
    'false': 50
    'true': 0

  enable_life_bottle_checks:
    # Adds checks for getting life bottles
    'false': 50
    'true': 0

  enable_spirit_particle_checks:
    # Adds checks for getting all spirit particles in a level.
    # Some minigame enemies are counted as spirit particles, like Draclets in Crystal Glacier.
    # NOTE: Some enemies will only release spirit particles while the camera is on them.
    'false': 50
    'true': 0

  enable_gemsanity:
    # Adds checks for each individual gem.
    # WARNING: To avoid logic issues, this setting is meant for Moneybagssanity only.  If Moneybagssanity is off,
    # all Moneybags prices will be set to 0 in game.
    # Off: Individual gems are not checks.
    # Partial: Every gem has a chance to be a check, but only 200 will be (chosen at random).  For every level with loose
    #     gems (not speedways), 8 items giving 50 gems for that level will be added to the pool.
    'off': 50
    partial: 0

  moneybags_settings:
    # Determines settings for Moneybags unlocks.
    # Vanilla - Pay Moneybags to progress as usual
    # COMING SOON (tm): Price Shuffle - The prices Moneybags charges are randomized, while still allowing for beatable seeds.
    # Moneybagssanity - You cannot pay Moneybags at all and must find unlock items to progress. Glimmer Bridge
    # is excluded to avoid issues with early game randomization.
    vanilla: 50
    moneybagssanity: 0

  enable_filler_extra_lives:
    # Allows filler items to include extra lives
    'false': 0
    'true': 50

  enable_destructive_spyro_filler:
    # Allows filler items to include temporarily powering up Spyro so anything destructible he touches is destroyed.
    # Affects enemies, strong chests, breakable walls, etc.
    'false': 50
    'true': 0

  enable_filler_color_change:
    # Allows filler items to include changing Spyro's color
    'false': 50
    'true': 0

  enable_filler_big_head_mode:
    # Allows filler items to include turning on Big Head Mode and Flat Spyro Mode
    'false': 50
    'true': 0

  enable_filler_heal_sparx:
    # Allows filler items to include healing Sparx.
    'false': 50
    'true': 0

  trap_filler_percent:
    # Determines the percentage of filler items that will be traps.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  enable_trap_damage_sparx:
    # Allows filler items to include damaging Sparx. Cannot directly kill Spyro.
    'false': 50
    'true': 0

  enable_trap_sparxless:
    # Allows filler items to include removing Sparx.
    'false': 50
    'true': 0

  enable_trap_invisibility:
    # Allows filler items to turn Spyro invisible briefly.
    # NOTE: Duckstation must be run in Interpreter mode for this to have any effect.
    'false': 50
    'true': 0

  enable_progressive_sparx_health:
    # Start the game with lower max health and add items to the pool to increase your max health.
    # Off - The game behaves normally.
    # Blue - Your max health starts at blue Sparx, and 1 upgrade is added to the pool.
    # Green - Your max health starts at green Sparx, and 2 upgrades are added to the pool.
    # Sparxless - Your max health starts at no Sparx, and 3 upgrades are added to the pool.
    # True Sparxless - Your max health is permanently Sparxless.  No upgrades are added to the pool.
    'off': 50
    blue: 0
    green: 0
    sparxless: 0
    true_sparxless: 0

  enable_progressive_sparx_logic:
    # Ensures that sufficient max Sparx health is in logic before various required checks.
    # Entering Aquaria Towers and Crush logically requires green Sparx.  Entering Skelos Badlands and Gulp
    # logically requires blue Sparx, and entering Ripto logically requires gold Sparx.
    # Note: This does nothing unless Enable Progressive Sparx Health Upgrades is set to blue, green, or Sparxless,
    'false': 50
    'true': 0

  double_jump_ability:
    # By default, Spyro 2 supports a double jump ability, where jumping then pressing square without letting go of jump
    # gains extra height.  This allows many sequence breaks within the game.
    # Note that most skips possible with double jump can be done in other, harder ways.
    # This option affects how the game plays, but does not directly impact logic.
    # The logic impact of the tricks below may be impacted by whether you can double jump.
    # NOTE: Duckstation must be run in Interpreter mode for this to have any effect.
    # Vanilla - Double Jump behaves normally.
    # In Pool - Adds Double Jump to the item pool.  The ability is disabled until you acquire the item.
    # Off - Double Jump is disabled.
    vanilla: 50
    in_pool: 0
    'off': 0

  permanent_fireball_ability:
    # Spyro 2 has a permanent fireball powerup in Dragon Shores, which makes gameplay much easier.
    # With glitches, it is possible to get here without 100% completion.
    # Exiting a 100% save file and entering a new game without resetting Duckstation also carries it over to the new save.
    # This option affects how the game plays, not game logic.
    # Vanilla - The fireball powerup in Dragon Shores behaves normally.
    # In Pool - Adds Permanent Fireball to the item pool.  The Dragon Shores powerup does not work.
    # Off - Permanent Fireball is disabled. The Dragon Shores powerup does not work.
    # Start With - You begin the game with fireball, as in New Game Plus.
    vanilla: 50
    in_pool: 0
    'off': 0
    start_with: 0

  ##########
  # Tricks #
  ##########
  logic_crush_early:
    # Puts entering the Crush fight without all 6 Summer Forest Talismans into logic.
    # Requires one of numerous out-of-bounds glitches.
    # Off: Requires 6 summer forest talismans, like normal.
    # On With Double Jump: If the player has access to double jump, skipping into Crush is in logic.
    # Always On: Skipping into Crush is always in logic.
    'off': 50
    on_with_double_jump: 0
    always_on: 0

  logic_gulp_early:
    # Puts entering the Gulp fight without all 14 Talismans into logic.
    # See https://www.youtube.com/watch?v=zkIq-2g8x8U.
    # Off: Requires 14 talismans, like normal.
    # On With Double Jump: If the player has access to double jump, skipping into Gulp is in logic.
    # Always On: Skipping into Gulp is always in logic.
    'off': 50
    on_with_double_jump: 0
    always_on: 0

  logic_ripto_early:
    # Puts entering the Ripto fight without 40 orbs into logic.
    # Off: Requires 40 orbs, like normal.
    # On With Double Jump: If the player has access to double jump, skipping into Ripto is in logic.
    # Always On: Skipping into Ripto is always in logic.
    'off': 50
    on_with_double_jump: 0
    always_on: 0

  #############
  # Cosmetics #
  #############
  portal_gem_collection_color:
    # Changes the color of the number that appears when gems are collected,
    # as well as the text on portals.
    default: 50
    red: 0
    green: 0
    blue: 0
    pink: 0
    white: 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
